package cn.source.system.domain;

import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotNull;

/**
 * 设备信息对象 deyu_device
 * 
 * @author deyucare.com
 * @date 2025-02-20
 */
public class DeyuDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 设备 MAC 地址，唯一标识设备 */
    @NotNull(message = "设备MAC地址不能为空")
    @Excel(name = "设备 MAC 地址，唯一标识设备")
    @ApiModelProperty("设备 MAC 地址，唯一标识设备")
    private String deviceMac;

    /** 血压仪 MAC 地址，唯一标识血压仪 */
    @Excel(name = "血压仪 MAC 地址，唯一标识血压仪")
    @ApiModelProperty("血压仪 MAC 地址，唯一标识血压仪")
    private String bloodPressureMac;

    /** 体重秤 MAC 地址，唯一标识体重秤 */
    @Excel(name = "体重秤 MAC 地址，唯一标识体重秤")
    @ApiModelProperty("体重秤 MAC 地址，唯一标识体重秤")
    private String weightScaleMac;

    /** 设备是否与血压仪绑定 */
    @Excel(name = "设备是否与血压仪绑定")
    private Integer bloodPressureBound;

    /** 设备是否与体重秤绑定 */
    @Excel(name = "设备是否与体重秤绑定")
    private Integer weightScaleBound;

    /** 设备系统版本，记录设备的系统版本信息 */
    @Excel(name = "设备系统版本，记录设备的系统版本信息")
    @ApiModelProperty("设备系统版本，记录设备的系统版本信息")
    private String version;

    /** 登录账号，记录该设备的登录账户 */
    @Excel(name = "登录账号ID，记录该设备的登录账户")
    private Long userId;

    /** 登录账号，记录该设备的登录账户 */
    @Excel(name = "登录账号")
    @ApiModelProperty("登录账号")
    private String userName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDeviceMac(String deviceMac) 
    {
        this.deviceMac = deviceMac;
    }

    public String getDeviceMac() 
    {
        return deviceMac;
    }
    public void setBloodPressureMac(String bloodPressureMac) 
    {
        this.bloodPressureMac = bloodPressureMac;
    }

    public String getBloodPressureMac() 
    {
        return bloodPressureMac;
    }
    public void setWeightScaleMac(String weightScaleMac) 
    {
        this.weightScaleMac = weightScaleMac;
    }

    public String getWeightScaleMac() 
    {
        return weightScaleMac;
    }
    public void setBloodPressureBound(Integer bloodPressureBound) 
    {
        this.bloodPressureBound = bloodPressureBound;
    }

    public Integer getBloodPressureBound() 
    {
        return bloodPressureBound;
    }
    public void setWeightScaleBound(Integer weightScaleBound) 
    {
        this.weightScaleBound = weightScaleBound;
    }

    public Integer getWeightScaleBound() 
    {
        return weightScaleBound;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceMac", getDeviceMac())
            .append("bloodPressureMac", getBloodPressureMac())
            .append("weightScaleMac", getWeightScaleMac())
            .append("bloodPressureBound", getBloodPressureBound())
            .append("weightScaleBound", getWeightScaleBound())
            .append("version", getVersion())
            .append("userId", getUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}
